今天來講爬蟲的套件,以及會比較詳細的聊到urllib
常用的為以下三類
先細講內建的urllib
可用於對網頁伺服器提出請求
方法(from urllib import request
)
request.Request()
提出請求
request.urlopen()
將網頁回傳值打開輸出為HTML原始碼,為資料型態bytes(”b”開頭)
需要再使用decode(’utf8’),將bytes轉為字串
先簡單舉 財政部台北國稅局 的網站為例:
https://www.ntbt.gov.tw/multiplehtml/d7d124569cf04124ae5a042b4d9f16f7
import requests
from bs4 import BeautifulSoup
from urllib import request
url = 'https://www.ntbt.gov.tw/multiplehtml/d7d124569cf04124ae5a042b4d9f16f7'
res = request.urlopen(url)
print(res.read().decode('utf8'))
可以成功的抓出東西!
但每次都那麼順利嗎?
假設我想一直抓ptt的颱風版資訊,
觀察颱風的走向去猜到底明天有沒有放假
用相同的程式碼更換網址為颱風版的網址,並執行。
什麼!被擋住了!
如何解決呢?我們明天來解決他。